package com.zx.task.manager.service;

import com.zx.core.wrapper.ListWrapper;
import com.zx.core.wrapper.ResponseWrapper;
import com.zx.task.manager.param.TaskTypesParam;
import com.zx.task.manager.vo.TaskTypesVO;

/**
 * <p>
 * description: 任务类型服务接口 <br>
 * create: 2025-10-13 20:08
 * </p>
 *
 * @author zhou  xun
 */
public interface ITaskTypesService {

    /**
     * 查询任务类型列表VO
     *
     * @param taskTypesParam 任务类型查询参数
     * @return {@link ListWrapper<TaskTypesVO>}
     * @author zhou  xun
     * @since 2025-10-13
     */
    ListWrapper<TaskTypesVO> getTaskTypesVOList(TaskTypesParam taskTypesParam);

    /**
     * 新增任务类型
     *
     * @param taskTypesParam 任务类型参数
     * @return {@link ResponseWrapper}
     * @author zhou  xun
     * @since 2025-10-13
     */
    ResponseWrapper addTaskType(TaskTypesParam taskTypesParam);

    /**
     * 编辑任务类型
     *
     * @param taskTypesParam 任务类型参数
     * @return {@link ResponseWrapper}
     * @author zhou  xun
     * @since 2025-10-13
     */
    ResponseWrapper editTaskType(TaskTypesParam taskTypesParam);

    /**
     * 更新任务类型状态
     *
     * @param taskTypesParam 任务类型参数
     * @return {@link ResponseWrapper}
     * @author zhou  xun
     * @since 2025-10-14
     */
    ResponseWrapper updateTaskTypeStatus(TaskTypesParam taskTypesParam);

    /**
     * 删除任务类型
     *
     * @param taskTypeId 任务类型id
     * @return {@link ResponseWrapper}
     * @author zhou  xun
     * @since 2025-10-13
     */
    ResponseWrapper deleteTaskType(String taskTypeId);


}